package cn.yj.core.business.service.iservice;

import cn.yj.common.Enums;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 永健
 * @since 2021-04-29 10:38
 */
interface TaskResources<T> extends IService<T> {

    /**
     * 取消任务
     *
     * @param taskNo 编号
     *
     * @return true/false
     */
    boolean cancelTask(String taskNo);

    /**
     * 取消任务
     *
     * @param taskNo 编号
     *
     * @return true/false
     */
    boolean timeOutCancelTask(String taskNo);

    BigDecimal getIntegralByTaskNo(String taskNo);


    /**
     * 预约接单 需要发布方同意
     *
     * @param taskNo 任务编号
     */
    boolean toAgree(String userCode, String taskNo);


    /**
     * 修改状态
     *
     * @param taskNo 任务编号
     * @param status 状态
     *
     * @return true/false
     */
    boolean updateTaskStatus(String taskNo, Enums.TASK.STATUS status);


    boolean delMyDoTask(List<String> userTaskNos);

    boolean delMyPushTask(List<String> taskNo);

    boolean agreeTask(String taskNo);

    boolean disAgreeTask(String userCode,String taskNo);

    /**
     *
     * @param userCode 操作用户
     * @param taskNo 任务编号
     */
    boolean finishTask(String userCode,String taskNo);

}
